1. Field of the Invention
The present invention relates generally to modem communications, and, more particularly, to a method and apparatus for buffering data samples in a software-based Asymmetric Digital Subscriber Line (ADSL) modem.
2. Description of the Related Art
In communications systems, particularly telephony, it is common practice to transmit signals between a subscriber station and a central switching office via a two-wire bi-directional communication channel. The Plain Old Telephone System (POTS), designed primarily for voice communication, provides an inadequate data transmission rate for many modem applications. To meet the demand for high-speed communications, designers have sought innovative and cost-effective solutions that take advantage of the existing network infrastructure. Several technological advancements have been proposed in the telecommunications industry that make use of the existing network of telephone wires. One of these technologies is the Digital Subscriber Line (DSL) technology. DSL technology uses the existing network of telephone lines for broadband communications. An ordinary twisted pair equipped with DSL interfaces can transmit video, television, and high-speed data.
DSL technologies leave the POTS service undisturbed. Traditional analog voice band interfaces use the same frequency band, 0–4 Kilohertz (kHz), as telephone service, thereby preventing concurrent voice and data use. A DSL interface, on the other hand, operates at frequencies above the voice channels from 100 kHz to 1.1 Megahertz (MHz). Thus, a single DSL line is capable of offering simultaneous channels for voice and data.
DSL systems use digital signal processing (DSP) to increase throughput and signal quality through common copper telephone wire. Certain DSL systems provide a downstream data transfer rate from the DSL Point-of-Presence (POP) to the subscriber location at speeds of about 1.5 Megabits per second (MBPS). The transfer rate of 1.5 MBPS, for instance, is fifty times faster than a conventional 28.8 kilobits per second (KBPS) transfer rate.
One popular version of the DSL technology is the Asymmetric Digital Subscriber Line (ADSL) technology. The ADSL standard is described in ANSI T1.413 Issue 2, entitled, “Interface Between Networks and Customer Installation—Asymmetric Digital Subscriber Line (ADSL) Metallic Interface, Rev. R4, dated Jun. 12, 1998, which is incorporated herein by reference in its entirety.
ADSL modems use two competing modulation schemes: discrete multi-tone (DMT) and carrierless amplitude/phase modulation (CAP). DMT is the standard adopted by the American National Standards Institute. The standard defines 256 discrete tones, with each tone representing a carrier signal that can be modulated with a digital signal for transmitting data. The specific frequency for a given tone is 4.3125 kHz times the tone number. Tones 1–7 are reserved for voice band and guard band (i.e., tone 1 is the voice band and tones 2–7 are guard bands). Data is not transmitted near the voice band to allow for simultaneous voice and data transmission on a single line. The guard band helps isolate the voice band from the ADSL data bands. Typically, a splitter may be used to isolate any voice band signal from the data tones. Tones 8–32 are used to transmit data upstream (i.e., from the user), and tones 33–256 are used to transmit data downstream (i.e., to the user). Alternatively, all the data tones 8–256 may be used for downstream data, and upstream data present on tones 8–32 would be detected using echo cancellation. Because more tones are used for downstream communication than for upstream communication, the transfer is said to be asymmetric.
Through a training procedure, the modems on both sides of the connection sense and analyze which tones are less affected by impairments in the telephone line. Each tone that is accepted is used to carry information. Accordingly, the maximum capacity is set by the quality of the telephone connection. The maximum data rate defined by the ADSL specification, assuming all tones are used, is about 8 MBPS downstream and about 640 KBPS upstream. In a typical ADSL system, a central office (CO) modem communicates with a customer premise (CP) modem. The CP modem is typically installed in a home or office.
ADSL modems generally transmit and receive data in real-time. However, some real-time functions of these ADSL modems are being implemented as software routines, due to, among other things, decreased manufacturing costs and increased flexibility. These software routines are typically executed on a host computer running under a multi-tasking operating system, such as Microsoft Windows®, for example.
When performing non-real time functions, the ADSL modem is considered relatively unstable in that, at any particular time, the connection may be dropped or fail to transfer data properly if the operating system is delayed in providing the necessary support to the modem on a real-time basis. For example, if the operating system is delayed in providing modem routine processing or bus transfers on a real-time basis, the modem may drop its connection. This situation may occur when the operating system is heavily loaded servicing other routines, or when peripheral devices or device drivers seize system resources for relatively long periods of time. As a result of these dropped connections, the computer user is inconvenienced by having to re-establish the connection and re-initiate the data transfer.
The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.